package com.bd.scm.domain.models.leave;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;


/**
 * @author yufc
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "bd_view_leave_detail_no_repeat")
public class LeaveDetailViewNoRepeat implements Serializable {

    @TableField(value = "user_serial")
    @ApiModelProperty(value="")
    private Long userSerial;

    @TableField(value = "user_no")
    @ApiModelProperty(value="")
    private String userNo;

    @TableField(value = "user_name")
    @ApiModelProperty(value="")
    private String userName;

    @TableField(value = "dep_id")
    @ApiModelProperty(value="")
    private Integer depId;

    @TableField(value = "dep_name")
    @ApiModelProperty(value="")
    private String depName;

    @TableField(value = "bh")
    @ApiModelProperty(value="")
    private String bh;

    @TableField(value = "remove_user")
    @ApiModelProperty(value="")
    private String removeUser;

    @TableField(value = "remove_time")
    @ApiModelProperty(value="")
    private Date removeTime;

    @TableField(value = "return_remark")
    @ApiModelProperty(value="")
    private String returnRemark;

    @TableField(value = "order_id")
    @ApiModelProperty(value="")
    private Long orderId;

    @ApiModelProperty(value="")
    private Integer jsjg;

    @ApiModelProperty(value="")
    private String jsjgHour;

    @TableField(value = "order_no")
    @ApiModelProperty(value="")
    private String orderNo;

    @TableField(value = "start_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startDate;

    @TableField(value = "end_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endDate;

    @TableField(value = "is_del")
    @ApiModelProperty(value="")
    private Integer isDel;

    @TableField(value = "submitter_time")
    @ApiModelProperty(value="")
    private Date submitterTime;

    @TableField(value = "status")
    private Integer status;

    @TableField(value = "status_name")
    private String statusName;

    @TableField(value = "leave_type_id")
    private String leaveTypeId;

    @TableField(value = "leave_type_name")
    private String leaveTypeName;

    @TableField(value = "submitter_id")
    private Long submitterId;

    @TableField(value = "submitter_name")
    private String submitterName;

    private static final long serialVersionUID = 1L;

}